tosca_definitions_version: tosca_simple_yaml_1_2

description: VNF type definition

imports:
  - etsi_nfv_sol001_common_types.yaml
  - etsi_nfv_sol001_vnfd_types.yaml

node_types:
  {{ VNF.name }}:
    derived_from: tosca.nodes.nfv.VNF
    properties:
      descriptor_id:
        type: string
        constraints: [ valid_values: [ {{ VNF.VNFD }} ] ]
        default: {{ VNF.VNFD }}
      descriptor_version:
        type: string
        constraints: [ valid_values: [ {{ VNF.version }} ] ]
        default: '{{ VNF.version }}'
      provider:
        type: string
        constraints: [ valid_values: [ '{{ VNF.provider }}' ] ]
        default: '{{ VNF.provider }}'
      product_name:
        type: string
        constraints: [ valid_values: [ '{{ VNF.product }}' ] ]
        default: '{{ VNF.product }}'
      software_version:
        type: string
        constraints: [ valid_values: [ '{{ VNF.software_version }}' ] ]
        default: '{{ VNF.software_version }}'
      vnfm_info:
        type: list
        entry_schema:
          type: string
          constraints: [ valid_values: [ Tacker ] ]
        default: [ Tacker ]
      flavour_id:
        type: string
        constraints: [ valid_values: [ {{ VNF.flavour_id }} ] ]
        default: {{ VNF.flavour_id }}
      flavour_description:
        type: string
        default: {{ VNF.flavour_description }}
    requirements:
      - virtual_link_internal:
          capability: tosca.capabilities.nfv.VirtualLinkable
    interfaces:
      Vnflcm:
        type: tosca.interfaces.nfv.Vnflcm